package com.dianxin.smartpark.dao.dataobject.attendance;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.chinatelecom.response.common.BaseDO;
import com.chinatelecom.response.common.BaseQO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.io.Serializable;
import java.util.Date;

public class SmartParkAttendanceStatistics implements Serializable {
    /**
     * 姓名
     */
    @ExcelProperty("姓名")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String userName;

    /**
     * 部门
     */
    @ColumnWidth(20)
    @ExcelProperty("部门")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String deptName;

    /**
     * 打卡日期
     */
    @ColumnWidth(20)
    @ExcelProperty("打卡日期")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String clockInDate;

    /**
     * 考勤组
     */
    @ColumnWidth(20)
    @ExcelProperty("考勤组")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String groupName;

    /**
     * 加班分钟数
     */
    @ColumnWidth(20)
    @ExcelProperty("加班分钟数")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String workOvertimeMinutes;
    /**
     * 打卡次数
     */
    @ColumnWidth(20)
    @ExcelProperty("打卡次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String clockInNumber;

    /**
     * 迟到次数
     */
    @ColumnWidth(20)
    @ExcelProperty("迟到次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String lateNumber;

    /**
     * 迟到分钟数
     */
    @ColumnWidth(20)
    @ExcelProperty("迟到分钟数")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String lateAbnormalMinutes;

    /**
     * 早退次数
     */
    @ColumnWidth(20)
    @ExcelProperty("早退次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String mornOutNumber;

    /**
     * 早退分钟数
     */
    @ColumnWidth(20)
    @ExcelProperty("早退分钟数")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String mornOutAbnormalMinutes;

    /**
     * 旷工
     */
    @ColumnWidth(20)
    @ExcelProperty("旷工（天）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String absenteeism;

    /**
     * 外勤
     */
    @ColumnWidth(20)
    @ExcelProperty("外勤（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String fieldPersonnel;

    /**
     * 考勤状态
     */
    @ColumnWidth(20)
    @ExcelProperty("考勤状态")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String clockInStatusName;

    /**
     * 补卡次数
     */
    @ColumnWidth(20)
    @ExcelProperty("补卡次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String repairCardNumber;

    /**
     * 请假次数
     */
    @ColumnWidth(20)
    @ExcelProperty("请假次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String leaveNumber;

    /**
     * 出差次数
     */
    @ColumnWidth(20)
    @ExcelProperty("出差次数（次）")
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String travelNumber;

    /**
     * smart_park_attendance_statistics
     */
    private static final long serialVersionUID = 1L;

    /**
     * 姓名
     * @return user_name 姓名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 姓名
     * @param userName 姓名
     */
    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    /**
     * 部门
     * @return dept_name 部门
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 部门
     * @param deptName 部门
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName == null ? null : deptName.trim();
    }

    /**
     * 打卡日期
     * @return clock_in_date 打卡日期
     */
    public String getClockInDate() {
        return clockInDate;
    }

    /**
     * 打卡日期
     * @param clockInDate 打卡日期
     */
    public void setClockInDate(String clockInDate) {
        this.clockInDate = clockInDate == null ? null : clockInDate.trim();
    }

    /**
     * 考勤组
     * @return group_name 考勤组
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * 考勤组
     * @param groupName 考勤组
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName == null ? null : groupName.trim();
    }

    public String getWorkOvertimeMinutes() {
        return workOvertimeMinutes;
    }

    public void setWorkOvertimeMinutes(String workOvertimeMinutes) {
        this.workOvertimeMinutes = workOvertimeMinutes;
    }

    /**
     * 打卡次数
     * @return clock_in_number 打卡次数
     */
    public String getClockInNumber() {
        return clockInNumber;
    }

    /**
     * 打卡次数
     * @param clockInNumber 打卡次数
     */
    public void setClockInNumber(String clockInNumber) {
        this.clockInNumber = clockInNumber == null ? null : clockInNumber.trim();
    }

    /**
     * 迟到次数
     * @return late_number 迟到次数
     */
    public String getLateNumber() {
        return lateNumber;
    }

    /**
     * 迟到次数
     * @param lateNumber 迟到次数
     */
    public void setLateNumber(String lateNumber) {
        this.lateNumber = lateNumber == null ? null : lateNumber.trim();
    }

    /**
     * 迟到分钟数
     * @return late_abnormal_minutes 迟到分钟数
     */
    public String getLateAbnormalMinutes() {
        return lateAbnormalMinutes;
    }

    /**
     * 迟到分钟数
     * @param lateAbnormalMinutes 迟到分钟数
     */
    public void setLateAbnormalMinutes(String lateAbnormalMinutes) {
        this.lateAbnormalMinutes = lateAbnormalMinutes == null ? null : lateAbnormalMinutes.trim();
    }

    /**
     * 早退天数
     * @return morn_out_number 早退天数
     */
    public String getMornOutNumber() {
        return mornOutNumber;
    }

    /**
     * 早退天数
     * @param mornOutNumber 早退天数
     */
    public void setMornOutNumber(String mornOutNumber) {
        this.mornOutNumber = mornOutNumber == null ? null : mornOutNumber.trim();
    }

    /**
     * 早退分钟数
     * @return morn_out_abnormal_minutes 早退分钟数
     */
    public String getMornOutAbnormalMinutes() {
        return mornOutAbnormalMinutes;
    }

    /**
     * 早退分钟数
     * @param mornOutAbnormalMinutes 早退分钟数
     */
    public void setMornOutAbnormalMinutes(String mornOutAbnormalMinutes) {
        this.mornOutAbnormalMinutes = mornOutAbnormalMinutes == null ? null : mornOutAbnormalMinutes.trim();
    }

    /**
     * 旷工
     * @return absenteeism 旷工
     */
    public String getAbsenteeism() {
        return absenteeism;
    }

    /**
     * 旷工
     * @param absenteeism 旷工
     */
    public void setAbsenteeism(String absenteeism) {
        this.absenteeism = absenteeism == null ? null : absenteeism.trim();
    }

    /**
     * 外勤
     * @return field_personnel 外勤
     */
    public String getFieldPersonnel() {
        return fieldPersonnel;
    }

    /**
     * 外勤
     * @param fieldPersonnel 外勤
     */
    public void setFieldPersonnel(String fieldPersonnel) {
        this.fieldPersonnel = fieldPersonnel == null ? null : fieldPersonnel.trim();
    }

    /**
     * 考勤状态
     * @return clock_in_status_name 考勤状态
     */
    public String getClockInStatusName() {
        return clockInStatusName;
    }

    /**
     * 考勤状态
     * @param clockInStatusName 考勤状态
     */
    public void setClockInStatusName(String clockInStatusName) {
        this.clockInStatusName = clockInStatusName == null ? null : clockInStatusName.trim();
    }

    /**
     * 补卡次数
     * @return repair_card_number 补卡次数
     */
    public String getRepairCardNumber() {
        return repairCardNumber;
    }

    /**
     * 补卡次数
     * @param repairCardNumber 补卡次数
     */
    public void setRepairCardNumber(String repairCardNumber) {
        this.repairCardNumber = repairCardNumber == null ? null : repairCardNumber.trim();
    }

    /**
     * 请假次数
     * @return leave_number 请假次数
     */
    public String getLeaveNumber() {
        return leaveNumber;
    }

    /**
     * 请假次数
     * @param leaveNumber 请假次数
     */
    public void setLeaveNumber(String leaveNumber) {
        this.leaveNumber = leaveNumber == null ? null : leaveNumber.trim();
    }

    /**
     * 出差次数
     * @return travel_number 出差次数
     */
    public String getTravelNumber() {
        return travelNumber;
    }

    /**
     * 出差次数
     * @param travelNumber 出差次数
     */
    public void setTravelNumber(String travelNumber) {
        this.travelNumber = travelNumber == null ? null : travelNumber.trim();
    }

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String deptId;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String deptCode;


    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private Long userId;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private Long groupId;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String dateTime;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String startTime;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String endTime;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String tenantId;

    @ExcelIgnore
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    private String orderByClause;

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptCode() {
        return deptCode;
    }

    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public String getDateTime() {
        return dateTime;
    }

    public void setDateTime(String dateTime) {
        this.dateTime = dateTime;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }
}